package com.tjhk.demo.contants;

public class RabbitMqExchangeConstants {

    //交换器
    /**fanout类型路由名称
     *每个发到fanout类型交换器的消息都会分到所有绑定的队列上去。
     * fanout交换器不处理该路由键，只是简单的将队列绑定到交换器上，
     * 每个发送到交换器的消息都会被转发到与该交换器绑定的所有队列上。
     * 很像子网广播，每台子网内的主机都获得了一份复制的消息。fanout类型转发消息是最快的。
     * */
    public final static String FANOUT_EXCHANGE_NAME = "fanout.inform.exchange";
    /**direct类型路由名称
     * 消息中的路由键(routing key)如果和Binding中的binding key一致，
     * 交换器就将消息发到对应的队列中。路由键与队列名完全匹配。
     * */
    public final static String DIRECT_EXCHANGE_NAME = "direct.inform.exchange";
    /**topic路由名称
     * topic交换器通过模式匹配分配消息的路由键属性，将路由键和某个模式进行匹配，此时队列需要绑定到一个模式上。
     * 它将路由键(routing-key)和绑定键(bingding-key)的字符串切分成单词，这些单词之间用点隔开。
     * 它同样也会识别两个通配符："#"和"*"。#匹配0个或多个单词，匹配不多不少一个单词。
     * */
    public final static String TOPIC_EXCHANGE_NAME = "topic.inform.exchange";

    /**默认direct类型路由名称**/
    public final static String DEFAULT_DIRECT_EXCHANGE_NAME = "amq.direct";

    /**默认fanout类型路由名称**/
    public final static String DEFAULT_FANOUT_EXCHANGE_NAME = "amq.fanout";

    /**默认topic类型路由名称**/
    public final static String DEFAULT_TOPIC_EXCHANGE_NAME = "amq.topic";
}

